#! -*- coding: utf-8 -*-

from django.db import models

class Proposta(models.Model):

    NIVEL_CHOICES = (
        (u'B', u'Básico'),
        (u'M', u'Médio'),
        (u'A', u'Avançado'),
    )

    CATEGORIA_CHOICES = (
        (u'P', u'Palestra'),
        (u'O', u'Oficina/Palestra'),
        (u'L', u'Lightning Talk'),
    )

    nome = models.CharField(max_length=100, help_text='Digite seu nome completo. (campo obrigatório)')
    email = models.EmailField(help_text='(campo obrigatório)')
    telefone = models.CharField(max_length=20, help_text='Digite um telefone para contato')
    endereco = models.CharField(max_length=100, help_text='Endereço completo. tipo: rua, numero, bairro. (campo obrigatório)')
    categoria = models.CharField(help_text='Qual a categoria da sua proposta?', max_length=2, choices=CATEGORIA_CHOICES)
    titulo = models.CharField(max_length=200, help_text='Indique o título de sua palestra. (campo obrigatório)')
    tema = models.CharField(max_length=100, help_text='Indique um tema para a sua palestra. (campo obrigatório)')
    nivel = models.CharField(help_text='Qual o nível técnico da palestra?', max_length=2, choices=NIVEL_CHOICES)
    proposta = models.TextField(help_text='Descreva em poucas linhas sua proposta de palestra. (campo obrigatório)')
    bio = models.TextField(help_text='Descreva em poucas linhas um pouco de você e sua experiência.')

    def __unicode__(self):
        return self.nome


class Palestra(models.Model):

    # utilizado para exibir a informacao para os inscritos
    horario = models.TimeField()
    titulo = models.CharField(max_length=200)
    palestrante = models.CharField(max_length=100)
    resumo = models.TextField()

    # utilizado para controlar o numero de inscritos na palestra
    vagas = models.IntegerField(help_text='Quantidade de vagas disponíveis para essa palestra')

    # utilizado para exibir o histórico do flisol
    ano = models.IntegerField(help_text='Ano em que a palestra será realizada')
    apresentacao = models.FileField(upload_to='apresentacoes', blank=True, 
            help_text='Slides utilizados durante a apresentação')
    presswidget = models.TextField(blank=True, help_text='Link para embutir a apresentação na página de histórico')
    
    def __unicode__(self):
        return self.titulo


class Participante(models.Model):

    nome = models.CharField(max_length=100, help_text='Digite seu nome completo. (campo obrigatório)')
    email = models.EmailField(help_text='(campo obrigatório)')
    palestras = models.ManyToManyField(Palestra)
    instalar = models.BooleanField(help_text='Você vai levar seu equipamento para instalações?', verbose_name='InstallFest')
    
    def __unicode__(self):
        return self.nome
